package cn.fws.meap.user.service.impl;

import java.math.BigDecimal;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.fws.framework.utils.ConvertUtils;
import cn.fws.framework.utils.UUIDUtils;
import cn.fws.meap.user.mapper.AccountMapper;
import cn.fws.meap.user.entity.Account;
import cn.fws.meap.user.service.IAccountService;
import org.springframework.transaction.annotation.Transactional;

/**
 * 账户 服务层实现
 * 
 * @author chenkh
 * @date 2019-03-07
 */
@Service
@Transactional
public class AccountServiceImpl implements IAccountService {

	@Autowired
	private AccountMapper accountMapper;

	/**
     * 查询账户信息
     * 
     * @param id 账户ID
     * @return 账户信息
     */
    @Override
	public Account selectById(String id) {
	    return accountMapper.selectById(id);
	}
	
	/**
     * 查询账户列表
     * 
     * @param account 账户信息
     * @return 账户集合
     */
	@Override
	public List<Account> selectList(Account account)	{
	    return accountMapper.selectList(account);
	}
	
    /**
     * 新增账户
     * 
     * @param account 账户信息
     * @return 结果
     */
	@Override
	public int insert(Account account) {
		// 设置主键
		account.setId(UUIDUtils.getUUID());
		// 设置创建时间
		account.setCreateTime(new java.util.Date());
		account.setUpdateTime(new java.util.Date());
		account.setAccBalance(new BigDecimal("0"));
	    return accountMapper.insert(account);
	}
	
	/**
     * 修改账户
     * 
     * @param account 账户信息
     * @return 结果
     */
	@Override
	public int update(Account account) {
		// 设置修改时间
		account.setUpdateTime(new java.util.Date());
	    return accountMapper.update(account);
	}

	/**
     * 删除账户对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteByIds(String ids) {
		return accountMapper.deleteByIds(ConvertUtils.toStrArray(ids));
	}
	
}
